Replace identifiers called `__out` because Windows.h #defines it. Windows is greedy and it defines the identifier `__out` as a macro. This patch renames all conflicting libc++ identifiers in order to correctly work on Windows. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@291345 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/experimental/iterator b/include/experimental/iterator index da593fe..37186b3 100644 --- a/include/experimental/iterator +++ b/include/experimental/iterator
@@ -75,19 +75,19 @@ typedef void reference; ostream_joiner(ostream_type& __os, _Delim&& __d) - : __out(_VSTD::addressof(__os)), __delim(_VSTD::move(__d)), __first(true) {} + : __output(_VSTD::addressof(__os)), __delim(_VSTD::move(__d)), __first(true) {} ostream_joiner(ostream_type& __os, const _Delim& __d) - : __out(_VSTD::addressof(__os)), __delim(__d), __first(true) {} + : __output(_VSTD::addressof(__os)), __delim(__d), __first(true) {} template<typename _Tp> ostream_joiner& operator=(const _Tp& __v) { if (!__first) - *__out << __delim; + *__output << __delim; __first = false; - *__out << __v; + *__output << __v; return *this; } @@ -96,7 +96,7 @@ ostream_joiner& operator++(int) _NOEXCEPT { return *this; } private: - ostream_type* __out; + ostream_type* __output; _Delim __delim; bool __first; };